#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <assert.h>
#include <string.h>
//void my_strcat(char* a, char* b)
//{
//	assert(a && b);
//	while (*a != '\0')
//		a++;
//	while (*a++ = *b++)
//		;
//}
//int main()
//{
//	char a[32] = "Love";
//	char b[] = "Jackson";
//	my_strcat(a, b);
//	printf("%s\n", a);
//	return 0;
//}
//void reverse(char* a)
//{
//	int len = strlen(a);
//	int tmp = *a;
//	*a = *(a + len - 1);
//	*(a + len - 1) = '\0';
//	if (strlen(a) > 1)
//		reverse(a + 1);
//	*(a + len - 1) = tmp;
//}
//int main()
//{
//	char a[] = "abcdefg";
//	reverse(a);
//	printf("%s\n", a);
//	return 0;
//}
//void my_strcat(char* a, char* b)
//{
//	while (*a != '\0')
//		a++;
//	while (*a++ = *b++)
//		;
//}
//int main()
//{
//	char a[32] = "Love ";
//	char b[] = "Jackson Yee";
//	my_strcat(a, b);
//	printf("%s\n", a);
//	return 0;
//}
//void reverse(char* a)
//{
//	int len = strlen(a);
//	int tmp = *a;
//	*a = *(a + len - 1);
//	*(a + len - 1) = '\0';
//	if (strlen(a) > 1)
//		reverse(a + 1);
//	*(a + len - 1) = tmp;
//}
void reverse(char* a)
{
	int len = strlen(a);
	//printf("%d\n", len);
	for (int i = 0; i < (len / 2); i++)
	{
		int tmp = 0;
		tmp = *(a + i);
		*(a + i) = *(a + len - 1 - i);
		*(a + len - 1 - i) = tmp;
	}
}
int main()
{
	char a[32] ;
	scanf("%s", a);
	reverse(a);
	printf("%s", a);
	return 0;
}